home *** CD-ROM | disk | FTP | other *** search
- NCALC - Demonstrate Keyboard and Control handling
-
- NCALC is a simple modification to the calc that comes as a demo with
- Visual Basic. The only enhancements I have made is to allow keyboard entry
- and to have the keys depress on each keystroke as if pressed with a mouse.
-
- The technique for keyboard handling involves routing each control to a
- common keyboard handler by setting the KeyDown and KeyUp events
- for each control to pass through ProcessKeyDown and ProcessKeyUp.
-
- In the common KeyDown handler (ProcessKeyDown) there is a SetFocus command
- that is followed by a library call to getFocus().
- Getfocus returns the handle to the control that currently has the focus.
- The handle is then passed to the sendMessage() library call to set
- the state of the button to down. This is reversed in the common KeyUp
- handler (ProcessKeyUp).
-
- Note that in ProcessKeyUp the focus is set to the equals key. This is to allow
- enter to work the same as equals. Apparently you cannot intercept the
- enter key with a keydown event, instead it acts on the control with the focus
- as if you had clicked on it. If anyone has a 'simple' way to deal with this,
- Let me know. (I have a complex way already!).
-
- Look in the global module for definitions of the library routines.
-
- This program was written in as straight forward a manner as possible. Many
- improvements and additions are possible. Have fun!
-
- This program is copyright by Microsoft and being distributed in accordance
- with the release granted in the (common) (declarations),
- any extensions made by myself, Marcus Smaby, are released to the
- public domain. 3/25/92
-
- As an experienced windows and unix programmer, I am available on a work-for-hire basis
- for any project that can be performed over CIS, modem and Fax. I have experience
- and have taught; SmallTalk V/Win, Turbo Pascal for Windows, C++ for Windows,
- Superbase 4, Progress (Unix) and Visual Basic. If you would like to
- talk to me regarding custom programming contact me at my CIS ID.
-
-
- Marcus Smaby
- (72571,3126)
-
-
-
-